// pages/mv-detail/mv-detail.js
import {
  getMvUrl,
  getMvDetail
} from "../api/music"
const colors = [
  "#ff0000",
  "'#ff00ff",
  "#00ffff",
  "#0000ff",
  "#00ff00"
]
const app=getApp()
Page({

      /**
       * 页面的初始数据
       */
      data: {
        url: "",
        mvInfo: "",
        value: "",
        text: "",
        isConnect:false,
        danmuList: [{
          text: '第 1s 出现的弹幕',
          color: '#ff0000',
          time: 1
        }, {
          text: '第 3s 出现的弹幕',
          color: '#ff00ff',
          time: 3
        }],
      },

      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        console.log(options.id);
        getMvUrl(options.id).then(res => {
          this.setData({
            url: res.data.data.url
          })

        })
        getMvDetail(options.id).then(res => {
          console.log(res);
          this.setData({
            mvInfo: res.data.data
          })
        })
        // 创建连接
        app.globalData.loginPromise.then((res) => {
            const userInfo = app.globalData.userInfo
            //   // 用户名
            //   console.log(userInfo);
            this.userName = userInfo.loginName;
            //   // 分组id表示聊天室 group id 来区分不同的聊天室
            //分组id
            this.groupId = "web09-mv" + options.id
            this.nickname = userInfo.userName
            this.avatar = userInfo.avatar
            //   // 1.建立链接wss://showme.myhope365.com/websocketChat（上线必须） 或者 ws://59.111.104.209:13000
            wx.connectSocket({
              url: `wss://showme.myhope365.com/websocketChat?username=${this.userName}&password=123&courseId=${this.groupId}&nickName=${this.nickname}&avatar=${this.avatar}`,
            })
        })
        // 打开连接   建立成功了
        wx.onSocketOpen((result) => {
          this.setData({
            isConnect:true
          })
          // 获取历史消息
          const historyMsg = {
            cmd: 19, // 命令 
            type: 1, // 类型 固定值
            groupId: this.groupId, //  分组的id
            userId: this.userName // 用户id（这里可以用loginName）
          }
          wx.sendSocketMessage({
            data: JSON.stringify(historyMsg),
          })
          // 做一个心跳检测，定时向服务器发送消息
          this.IntervalId=setInterval(() => {
            wx.sendSocketMessage({
              data: JSON.stringify({
                cmd:"13",
                "hbbyte":"-127"
              }),
            })
          }, 5000);
        })
        // 监听一下消息
        wx.onSocketMessage((result) => {
          const data=JSON.parse(result.data);
          if(data.command === 20 && data.code === 10018){

// 判断当前的聊天室是否存在历史消息
if(data.data&& data.data.groups&&data.data.groups[this.groupId]){
  // 满足这个条件之后可以设置历史消息
  this.setData({
    danmuList:data.data.groups[this.groupId]
  })
}
          }
        })
          },
          onReady() {
            this.videoContext = wx.createVideoContext('mvvideo')
          },
          onUnload(){
            // 关闭连接
    wx.closeSocket()
    clearinterval(this.IntervalId)
      },
          // 随机生成随机数colors长度
          bindSendDanmu() {
            const randomnNum = Math.floor(Math.random() * colors.length)
            this.videoContext.sendDanmu({
              text: this.data.value,
              color: colors[randomnNum]
            })
            console.log(this.data.value);
            console.log(colors[randomnNum]);
            console.log(this.videoContext.sendDanmu);

            // console.log(this.vdioContext.sendDanmu);

          }








        })